Like most other computing devices, a mobile device requires that updates be downloaded to it for the applications running on it. (To make the present discussion easier, “applications” include all software and firmware components that run on the mobile device, including the operating system, any utilities, and databases, in addition to the software programs normally thought of as “applications.”) Also, completely new applications can be downloaded to the mobile device at its user's discretion.
On first consideration, nothing could be more straightforward than downloading updates or downloading new applications to a mobile device. The download process can use the same wireless communications capability that the mobile device uses when running its applications. Intricacies of wireless communications such as, for example, locating the mobile device, authenticating the device to the network, and negotiating to use wireless bandwidth, must have already been worked out before the mobile device could function at all. In order to download an application to the mobile device, therefore, “device management servers” (devices that store updates and new applications and then deliver them to mobile devices) can simply use the existing wireless infrastructure and techniques. Indeed, this is exactly how updates and new applications have traditionally been distributed to mobile devices.
However, the very simplicity of this traditional download method presents problems. When updating is so simple, updates become common, and the bandwidth needed to download them begins to compete with the bandwidth needed by mobile devices to actually run applications. This leads to longer download times and possibly to reduced performance for the running applications. In addition, downloads may not even be possible at certain times because the mobile device enters an area of spotty or non-existent wireless network coverage (or is turned off). When compensating for this, the device management servers are sometimes overloaded as they try to update multiple mobile devices during the limited time when those devices are reachable over the wireless network.